// pages/record/record.js
//将秒数转换为时分秒的表示形式
var formatSeconds = function (value) {
  var time = parseFloat(value);
  var h = Math.floor(time / 3600);
  var m = Math.floor((time - h * 3600) / 60);
  var s = time - h * 3600 - m * 60;
  //map()方法返回一个新数组，数组中的元素为原始数组元素调用函数处理的后值。 
  return [h, m, s].map(formatNumber).join(':');
  function formatNumber(n) {
    n = n.toString();
    return n[1] ? n : '0' + n;
  }
};
var interval;   //定时器
Page({
  /**
   * 页面的初始数据
   */
  data: {
    formatRecordTime: '00:00:00',
    recordTime: 0,                     //计数器，每秒增加1
    recordFile: '',
  },
  //开始录音
  startTap: function (e) {
    var self = this;
    interval = setInterval(function () {
      self.data.recordTime += 1;
      self.setData({
        formatRecordTime: formatSeconds(self.data.recordTime),
      });
    }, 1000);
    wx.startRecord({
      success: function (res) {
        console.log(res);
        self.setData({
          formatRecordTime: formatSeconds(self.data.recordTime),
          recordFile: res.tempFilePath,
        });
      },
      complete: function () {
        clearInterval(interval);
      },
    });
  },
  //停止录音
  endTap: function () {
    wx.stopRecord();
    clearInterval(interval);
    this.setData({
      formatRecordTime: '00:00:00',
      recordTime: 0,
    });
  },
  //播放录音
  playTap: function () {
    wx.playVoice({
      filePath: this.data.recordFile,
      complete: function (e) {
        console.log(e);
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})